This disclosure relates generally to methods for run-time streak removal from scanned images.
A main drawback of paper-fed scanners, such as CVT (Constant Velocity Transfer) scanners, is their vulnerability to streak defects. Because the sensors equipped in such scanners are open to the environment, extraneous dirt, such as paper fibers, may cover or partially cover some of the sensor elements and stick there for a short time or as long as scanning several pages. As a result, streaks, formed as straight thin lines, will appear on the images of scanned documents in various lengths. A standard technique for removal of such streaks and other artifacts caused by dirt on the sensors and platen is to use a post-scanning process to search any streaks and artifacts and remove them correspondingly. This technique can be time consuming and resource inefficient. For example, a scanner may not be equipped with enough memory to store the entire scanned image, so it is necessary to save and recall the image from disk for the post-scanning process.
D/A3408 and D/A3639 describe two techniques for run-time streak detection: D/A3408 uses a four-sensor array and D/A3639 describes a software-based detection method. Both methods do not require a full-image buffer and can be used at run time scanning with only a one scan line image buffer. In most cases, for run-time streak detection, only one scan line of image information is available at a time. Thus, incorporated with run-time streak detection, run-time streak removal becomes a one-dimensional process, i.e., streak removal involves replacing the corrupted data in the “gap” of the streak by using data from left and right neighborhoods around the “gap”.
Once a streak defect is detected in a scanned document, the next task is to replace it with “correct data”. Replacing corrupted data involves guessing what the actual data should have been, based on neighboring data. The most common approach is linear interpolation and works very well for streak removal from images with smooth backgrounds. However, if the left and right neighborhoods of a streak have a textured background, such as found in halftone structures, linear interpolation does not provide a satisfactory result. It would be desirable to have a run-time streak removal method to accompanying these streak detection methods as well as others. It would be desirable to have run time streak removal method remove streaks from textured backgrounds with satisfactory results.